package com.ncsc.lmis.model;
// Generated Feb 25, 2014 11:44:39 PM by Hibernate Tools 3.4.0.CR1


import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * SysCust generated by hbm2java
 */
@Entity
@Table(name="sys_cust"
    ,catalog="lmis"
)
public class SysCust  implements java.io.Serializable {


     private Integer custNo;
     private SysCustStatus sysCustStatus;
     private SysNameTitle sysNameTitle;
     private String custCode;
     private Date createdDate;
     private Short custOccupationNo;
     private Short custGrpNo;
     private String idCardNo;
     private Date idCardIssuedDate;
     private Date idCardExpireDate;
     private String idCardIssuedAt;
     private String firstName;
     private String lastName;
     private Short sexNo;
     private Date birthDate;
     private String addrNo;
     private Short addrMoo;
     private String addrBuilding;
     private String addrSoi;
     private String addrRoad;
     private String addr1;
     private Integer addr2No;
     private Integer addr3No;
     private Short addr4No;
     private String addr4;
     private String addr5;
     private String phoneNo;
     private String mobileNo;
     private String email;
     private Short incomeLevelNo;
     private Short custLoanContractStatusNo;
     private Date regDate;
     private Short regOrgNo;
     private String comment;
     private String officeName;
     private String officeAddrNo;
     private Short officeAddrMoo;
     private String officeAddrBuilding;
     private String officeAddrSoi;
     private String officeAddrRoad;
     private String officeAddr1;
     private Integer officeAddr2No;
     private Integer officeAddr3No;
     private Short officeAddr4No;
     private String officeAddr5;
     private String officePhoneNo;
     private String aname1;
     private Set<SysCustBlacklist> sysCustBlacklists = new HashSet<SysCustBlacklist>(0);
     private Set<SaleLoanOffer> saleLoanOffers = new HashSet<SaleLoanOffer>(0);
     private Set<SaleLoanContract> saleLoanContracts = new HashSet<SaleLoanContract>(0);

    public SysCust() {
    }

	
    public SysCust(String idCardNo, String firstName, String lastName) {
        this.idCardNo = idCardNo;
        this.firstName = firstName;
        this.lastName = lastName;
    }
    public SysCust(SysCustStatus sysCustStatus, SysNameTitle sysNameTitle, String custCode, Date createdDate, Short custOccupationNo, Short custGrpNo, String idCardNo, Date idCardIssuedDate, Date idCardExpireDate, String idCardIssuedAt, String firstName, String lastName, Short sexNo, Date birthDate, String addrNo, Short addrMoo, String addrBuilding, String addrSoi, String addrRoad, String addr1, Integer addr2No, Integer addr3No, Short addr4No, String addr4, String addr5, String phoneNo, String mobileNo, String email, Short incomeLevelNo, Short custLoanContractStatusNo, Date regDate, Short regOrgNo, String comment, String officeName, String officeAddrNo, Short officeAddrMoo, String officeAddrBuilding, String officeAddrSoi, String officeAddrRoad, String officeAddr1, Integer officeAddr2No, Integer officeAddr3No, Short officeAddr4No, String officeAddr5, String officePhoneNo, String aname1, Set<SysCustBlacklist> sysCustBlacklists, Set<SaleLoanOffer> saleLoanOffers, Set<SaleLoanContract> saleLoanContracts) {
       this.sysCustStatus = sysCustStatus;
       this.sysNameTitle = sysNameTitle;
       this.custCode = custCode;
       this.createdDate = createdDate;
       this.custOccupationNo = custOccupationNo;
       this.custGrpNo = custGrpNo;
       this.idCardNo = idCardNo;
       this.idCardIssuedDate = idCardIssuedDate;
       this.idCardExpireDate = idCardExpireDate;
       this.idCardIssuedAt = idCardIssuedAt;
       this.firstName = firstName;
       this.lastName = lastName;
       this.sexNo = sexNo;
       this.birthDate = birthDate;
       this.addrNo = addrNo;
       this.addrMoo = addrMoo;
       this.addrBuilding = addrBuilding;
       this.addrSoi = addrSoi;
       this.addrRoad = addrRoad;
       this.addr1 = addr1;
       this.addr2No = addr2No;
       this.addr3No = addr3No;
       this.addr4No = addr4No;
       this.addr4 = addr4;
       this.addr5 = addr5;
       this.phoneNo = phoneNo;
       this.mobileNo = mobileNo;
       this.email = email;
       this.incomeLevelNo = incomeLevelNo;
       this.custLoanContractStatusNo = custLoanContractStatusNo;
       this.regDate = regDate;
       this.regOrgNo = regOrgNo;
       this.comment = comment;
       this.officeName = officeName;
       this.officeAddrNo = officeAddrNo;
       this.officeAddrMoo = officeAddrMoo;
       this.officeAddrBuilding = officeAddrBuilding;
       this.officeAddrSoi = officeAddrSoi;
       this.officeAddrRoad = officeAddrRoad;
       this.officeAddr1 = officeAddr1;
       this.officeAddr2No = officeAddr2No;
       this.officeAddr3No = officeAddr3No;
       this.officeAddr4No = officeAddr4No;
       this.officeAddr5 = officeAddr5;
       this.officePhoneNo = officePhoneNo;
       this.aname1 = aname1;
       this.sysCustBlacklists = sysCustBlacklists;
       this.saleLoanOffers = saleLoanOffers;
       this.saleLoanContracts = saleLoanContracts;
    }
   
     @Id @GeneratedValue(strategy=IDENTITY)

    
    @Column(name="CUST_NO", unique=true, nullable=false)
    public Integer getCustNo() {
        return this.custNo;
    }
    
    public void setCustNo(Integer custNo) {
        this.custNo = custNo;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="CUST_STATUS_NO")
    public SysCustStatus getSysCustStatus() {
        return this.sysCustStatus;
    }
    
    public void setSysCustStatus(SysCustStatus sysCustStatus) {
        this.sysCustStatus = sysCustStatus;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="NAME_TITLE_NO")
    public SysNameTitle getSysNameTitle() {
        return this.sysNameTitle;
    }
    
    public void setSysNameTitle(SysNameTitle sysNameTitle) {
        this.sysNameTitle = sysNameTitle;
    }

    
    @Column(name="CUST_CODE", length=10)
    public String getCustCode() {
        return this.custCode;
    }
    
    public void setCustCode(String custCode) {
        this.custCode = custCode;
    }

    @Temporal(TemporalType.DATE)
    @Column(name="CREATED_DATE", length=10)
    public Date getCreatedDate() {
        return this.createdDate;
    }
    
    public void setCreatedDate(Date createdDate) {
        this.createdDate = createdDate;
    }

    
    @Column(name="CUST_OCCUPATION_NO")
    public Short getCustOccupationNo() {
        return this.custOccupationNo;
    }
    
    public void setCustOccupationNo(Short custOccupationNo) {
        this.custOccupationNo = custOccupationNo;
    }

    
    @Column(name="CUST_GRP_NO")
    public Short getCustGrpNo() {
        return this.custGrpNo;
    }
    
    public void setCustGrpNo(Short custGrpNo) {
        this.custGrpNo = custGrpNo;
    }

    
    @Column(name="ID_CARD_NO", nullable=false, length=20)
    public String getIdCardNo() {
        return this.idCardNo;
    }
    
    public void setIdCardNo(String idCardNo) {
        this.idCardNo = idCardNo;
    }

    @Temporal(TemporalType.DATE)
    @Column(name="ID_CARD_ISSUED_DATE", length=10)
    public Date getIdCardIssuedDate() {
        return this.idCardIssuedDate;
    }
    
    public void setIdCardIssuedDate(Date idCardIssuedDate) {
        this.idCardIssuedDate = idCardIssuedDate;
    }

    @Temporal(TemporalType.DATE)
    @Column(name="ID_CARD_EXPIRE_DATE", length=10)
    public Date getIdCardExpireDate() {
        return this.idCardExpireDate;
    }
    
    public void setIdCardExpireDate(Date idCardExpireDate) {
        this.idCardExpireDate = idCardExpireDate;
    }

    
    @Column(name="ID_CARD_ISSUED_AT", length=100)
    public String getIdCardIssuedAt() {
        return this.idCardIssuedAt;
    }
    
    public void setIdCardIssuedAt(String idCardIssuedAt) {
        this.idCardIssuedAt = idCardIssuedAt;
    }

    
    @Column(name="FIRST_NAME", nullable=false, length=50)
    public String getFirstName() {
        return this.firstName;
    }
    
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    
    @Column(name="LAST_NAME", nullable=false, length=50)
    public String getLastName() {
        return this.lastName;
    }
    
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    
    @Column(name="SEX_NO")
    public Short getSexNo() {
        return this.sexNo;
    }
    
    public void setSexNo(Short sexNo) {
        this.sexNo = sexNo;
    }

    @Temporal(TemporalType.DATE)
    @Column(name="BIRTH_DATE", length=10)
    public Date getBirthDate() {
        return this.birthDate;
    }
    
    public void setBirthDate(Date birthDate) {
        this.birthDate = birthDate;
    }

    
    @Column(name="ADDR_NO", length=50)
    public String getAddrNo() {
        return this.addrNo;
    }
    
    public void setAddrNo(String addrNo) {
        this.addrNo = addrNo;
    }

    
    @Column(name="ADDR_MOO")
    public Short getAddrMoo() {
        return this.addrMoo;
    }
    
    public void setAddrMoo(Short addrMoo) {
        this.addrMoo = addrMoo;
    }

    
    @Column(name="ADDR_BUILDING", length=100)
    public String getAddrBuilding() {
        return this.addrBuilding;
    }
    
    public void setAddrBuilding(String addrBuilding) {
        this.addrBuilding = addrBuilding;
    }

    
    @Column(name="ADDR_SOI", length=50)
    public String getAddrSoi() {
        return this.addrSoi;
    }
    
    public void setAddrSoi(String addrSoi) {
        this.addrSoi = addrSoi;
    }

    
    @Column(name="ADDR_ROAD", length=50)
    public String getAddrRoad() {
        return this.addrRoad;
    }
    
    public void setAddrRoad(String addrRoad) {
        this.addrRoad = addrRoad;
    }

    
    @Column(name="ADDR1", length=100)
    public String getAddr1() {
        return this.addr1;
    }
    
    public void setAddr1(String addr1) {
        this.addr1 = addr1;
    }

    
    @Column(name="ADDR2_NO")
    public Integer getAddr2No() {
        return this.addr2No;
    }
    
    public void setAddr2No(Integer addr2No) {
        this.addr2No = addr2No;
    }

    
    @Column(name="ADDR3_NO")
    public Integer getAddr3No() {
        return this.addr3No;
    }
    
    public void setAddr3No(Integer addr3No) {
        this.addr3No = addr3No;
    }

    
    @Column(name="ADDR4_NO")
    public Short getAddr4No() {
        return this.addr4No;
    }
    
    public void setAddr4No(Short addr4No) {
        this.addr4No = addr4No;
    }

    
    @Column(name="ADDR4", length=50)
    public String getAddr4() {
        return this.addr4;
    }
    
    public void setAddr4(String addr4) {
        this.addr4 = addr4;
    }

    
    @Column(name="ADDR5", length=50)
    public String getAddr5() {
        return this.addr5;
    }
    
    public void setAddr5(String addr5) {
        this.addr5 = addr5;
    }

    
    @Column(name="PHONE_NO", length=20)
    public String getPhoneNo() {
        return this.phoneNo;
    }
    
    public void setPhoneNo(String phoneNo) {
        this.phoneNo = phoneNo;
    }

    
    @Column(name="MOBILE_NO", length=20)
    public String getMobileNo() {
        return this.mobileNo;
    }
    
    public void setMobileNo(String mobileNo) {
        this.mobileNo = mobileNo;
    }

    
    @Column(name="EMAIL")
    public String getEmail() {
        return this.email;
    }
    
    public void setEmail(String email) {
        this.email = email;
    }

    
    @Column(name="INCOME_LEVEL_NO")
    public Short getIncomeLevelNo() {
        return this.incomeLevelNo;
    }
    
    public void setIncomeLevelNo(Short incomeLevelNo) {
        this.incomeLevelNo = incomeLevelNo;
    }

    
    @Column(name="CUST_LOAN_CONTRACT_STATUS_NO")
    public Short getCustLoanContractStatusNo() {
        return this.custLoanContractStatusNo;
    }
    
    public void setCustLoanContractStatusNo(Short custLoanContractStatusNo) {
        this.custLoanContractStatusNo = custLoanContractStatusNo;
    }

    @Temporal(TemporalType.DATE)
    @Column(name="REG_DATE", length=10)
    public Date getRegDate() {
        return this.regDate;
    }
    
    public void setRegDate(Date regDate) {
        this.regDate = regDate;
    }

    
    @Column(name="REG_ORG_NO")
    public Short getRegOrgNo() {
        return this.regOrgNo;
    }
    
    public void setRegOrgNo(Short regOrgNo) {
        this.regOrgNo = regOrgNo;
    }

    
    @Column(name="COMMENT", length=500)
    public String getComment() {
        return this.comment;
    }
    
    public void setComment(String comment) {
        this.comment = comment;
    }

    
    @Column(name="OFFICE_NAME", length=50)
    public String getOfficeName() {
        return this.officeName;
    }
    
    public void setOfficeName(String officeName) {
        this.officeName = officeName;
    }

    
    @Column(name="OFFICE_ADDR_NO", length=50)
    public String getOfficeAddrNo() {
        return this.officeAddrNo;
    }
    
    public void setOfficeAddrNo(String officeAddrNo) {
        this.officeAddrNo = officeAddrNo;
    }

    
    @Column(name="OFFICE_ADDR_MOO")
    public Short getOfficeAddrMoo() {
        return this.officeAddrMoo;
    }
    
    public void setOfficeAddrMoo(Short officeAddrMoo) {
        this.officeAddrMoo = officeAddrMoo;
    }

    
    @Column(name="OFFICE_ADDR_BUILDING", length=100)
    public String getOfficeAddrBuilding() {
        return this.officeAddrBuilding;
    }
    
    public void setOfficeAddrBuilding(String officeAddrBuilding) {
        this.officeAddrBuilding = officeAddrBuilding;
    }

    
    @Column(name="OFFICE_ADDR_SOI", length=50)
    public String getOfficeAddrSoi() {
        return this.officeAddrSoi;
    }
    
    public void setOfficeAddrSoi(String officeAddrSoi) {
        this.officeAddrSoi = officeAddrSoi;
    }

    
    @Column(name="OFFICE_ADDR_ROAD", length=50)
    public String getOfficeAddrRoad() {
        return this.officeAddrRoad;
    }
    
    public void setOfficeAddrRoad(String officeAddrRoad) {
        this.officeAddrRoad = officeAddrRoad;
    }

    
    @Column(name="OFFICE_ADDR1", length=100)
    public String getOfficeAddr1() {
        return this.officeAddr1;
    }
    
    public void setOfficeAddr1(String officeAddr1) {
        this.officeAddr1 = officeAddr1;
    }

    
    @Column(name="OFFICE_ADDR2_NO")
    public Integer getOfficeAddr2No() {
        return this.officeAddr2No;
    }
    
    public void setOfficeAddr2No(Integer officeAddr2No) {
        this.officeAddr2No = officeAddr2No;
    }

    
    @Column(name="OFFICE_ADDR3_NO")
    public Integer getOfficeAddr3No() {
        return this.officeAddr3No;
    }
    
    public void setOfficeAddr3No(Integer officeAddr3No) {
        this.officeAddr3No = officeAddr3No;
    }

    
    @Column(name="OFFICE_ADDR4_NO")
    public Short getOfficeAddr4No() {
        return this.officeAddr4No;
    }
    
    public void setOfficeAddr4No(Short officeAddr4No) {
        this.officeAddr4No = officeAddr4No;
    }

    
    @Column(name="OFFICE_ADDR5", length=10)
    public String getOfficeAddr5() {
        return this.officeAddr5;
    }
    
    public void setOfficeAddr5(String officeAddr5) {
        this.officeAddr5 = officeAddr5;
    }

    
    @Column(name="OFFICE_PHONE_NO", length=20)
    public String getOfficePhoneNo() {
        return this.officePhoneNo;
    }
    
    public void setOfficePhoneNo(String officePhoneNo) {
        this.officePhoneNo = officePhoneNo;
    }

    
    @Column(name="ANAME1", length=8)
    public String getAname1() {
        return this.aname1;
    }
    
    public void setAname1(String aname1) {
        this.aname1 = aname1;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="sysCust")
    public Set<SysCustBlacklist> getSysCustBlacklists() {
        return this.sysCustBlacklists;
    }
    
    public void setSysCustBlacklists(Set<SysCustBlacklist> sysCustBlacklists) {
        this.sysCustBlacklists = sysCustBlacklists;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="sysCust")
    public Set<SaleLoanOffer> getSaleLoanOffers() {
        return this.saleLoanOffers;
    }
    
    public void setSaleLoanOffers(Set<SaleLoanOffer> saleLoanOffers) {
        this.saleLoanOffers = saleLoanOffers;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="sysCust")
    public Set<SaleLoanContract> getSaleLoanContracts() {
        return this.saleLoanContracts;
    }
    
    public void setSaleLoanContracts(Set<SaleLoanContract> saleLoanContracts) {
        this.saleLoanContracts = saleLoanContracts;
    }




}


